package pcsr.hwVirtualization;

/**
 * The class {@code Actuator} implements this interface in order to define the contract to be used when subscribing to a PCSR managed actuator.
 * 
 * @author Paulo Fagundes
 *
 * @see Actuator
 * @see IActuatorObserver
 */
public interface IActuatorObservable {

	/**
	 * Subscribe notifications about actuator changes.
	 * @param observer The subscriber of notifications.
	 * @see IActuatorObserver
	 */
	void ObserveActuator( final IActuatorObserver observer );
	
	/**
	 * Cancel subscription of notifications about actuator changes.
	 * @param observer The subscriber that is canceling.
	 * @see IActuatorObserver 
	 */
	void UnObserveActuator( final IActuatorObserver observer );
	
	
}
